package apps.estoque.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import apps.admin.model.Usuario;

@Entity
public class Produto implements Serializable {

    private static final long serialVersionUID = 4831604203002092303L;
    @Id
    @GeneratedValue
    private Long id;
    @ManyToOne(fetch = FetchType.EAGER, targetEntity = Usuario.class)
    @JoinColumn(name = "usuario_id")
    private Usuario cadastradoPor;
    @ManyToOne(fetch = FetchType.EAGER, targetEntity = Categoria.class)
    @JoinColumn(name = "categoria_id")
    private Categoria categoria;
    @Column(length = 15)
    private String codigo;
    private Date dataCadastro;
    @Column(length = 200, nullable = false)
    private String nome;
    @Column(nullable = false)
    private int quantidade;
    private Date ultimaAlteracao;
    @Column(nullable = false)
    private Float valor;

    public Long getId() {
	return id;
    }

    public void setId(Long id) {
	this.id = id;
    }

    public Usuario getCadastradoPor() {
	return cadastradoPor;
    }

    public void setCadastradoPor(Usuario cadastradoPor) {
	this.cadastradoPor = cadastradoPor;
    }

    public Categoria getCategoria() {
	return categoria;
    }

    public void setCategoria(Categoria categoria) {
	this.categoria = categoria;
    }

    public String getCodigo() {
	return codigo;
    }

    public void setCodigo(String codigo) {
	this.codigo = codigo;
    }

    public Date getDataCadastro() {
	return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
	this.dataCadastro = dataCadastro;
    }

    public String getNome() {
	return nome;
    }

    public void setNome(String nome) {
	this.nome = nome;
    }

    public int getQuantidade() {
	return quantidade;
    }

    public void setQuantidade(int quantidade) {
	this.quantidade = quantidade;
    }

    public Date getUltimaAlteracao() {
	return ultimaAlteracao;
    }

    public void setUltimaAlteracao(Date ultimaAlteracao) {
	this.ultimaAlteracao = ultimaAlteracao;
    }

    public Float getValor() {
	return valor;
    }

    public void setValor(Float valor) {
	this.valor = valor;
    }

}
